
jQuery('document').ready(function(){
	$('body').append('<!-- 모달팝업 내용 -->'
			+ '	<div id="divOptionSelect" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="position:absolute; width:898px; height:493px; left:50%; margin-left:-449px; top:50%; margin-top:-247px;" >'
			+ '		<!-- [D] 팝업사이즈 : width:898px; -->'
			+ '		<section class="popup" style="width:898px;">'
			+ '			<div class="title">'
			+ '				<h1>다중 설비계통 분석 : 장비/조회 값 선택</h1>'
			+ '				<p class="pop_close"><a href="#" onClick="$(\'#divOptionSelect\').modal(\'hide\')"><img src="/images/common/btn_popup_close.png" alt="닫기" /></a></p>'
			+ '			</div>'
			+ '			<div class="popContainer">'
			+ '				<p class="txt">항목별의 장비 구분 &gt; 장비 &gt; 조회값 (계측포인트, 지표, 가동시간) 을 순차적으로 선택하신 후 ‘확인’ 버튼을 클릭하세요.<br />선택 장비로 여러 조회값(계측포인트, 지표, 가동시간)을 조회 할 수 있습니다.</p>'
			+ '				<div class="popBox clear02">'
			+ '					<!-- 항목 구분 -->'
			+ '					<div class="fl popGroup04">'
			+ '						<p class="groupTitle bl">항목 구분</p>'
			+ '						<div class="groupArea02">'
			+ '							<!-- [D] 선택된 li태그에 class="on" 삽입 /'
			+ '											비활성화시, a 태그를 span 태그로 교체(title 부분 꼭 넣어주세요!) -->'
			+ '							<ul class="listStyle" id="sGrp01">'
			+ '							</ul>'
			+ '						</div>'
			+ '					</div>'
			+ '					<!-- //항목 구분 -->'
			+ '					<!-- 장비 구분 -->'
			+ '					<div class="fl popGroup04">'
			+ '						<p class="groupTitle">장비 구분</p>'
			+ '						<div class="groupArea02">'
			+ '							<!-- [D]로딩 시, 비활성화 부분 -->'
			+ '							<!-- [D] 선택된 li태그에 class="on" 삽입 /'
			+ '											비활성화시, a 태그를 span 태그로 교체(title 부분 꼭 넣어주세요!) -->'
			+ '							<ul  class="listStyle" id="sGrp02">'
			+ '							</ul>'
			+ '							<!-- //로딩 시, 비활성화 부분 -->'
			+ '						</div>'
			+ '					</div>'
			+ '					<!-- //장비 구분 -->'
			+ '					<!-- 장비 -->'
			+ '					<div class="fl popGroup04">'
			+ '						<p class="groupTitle">장비</p>'
			+ '						<div class="groupArea02">'
			+ '							<!-- [D]로딩 시, 비활성화 부분 -->'
			+ '							<!-- [D] 선택된 li태그에 class="on" 삽입 /'
			+ '											비활성화시, a 태그를 span 태그로 교체(title 부분 꼭 넣어주세요!) -->'
			+ '							<ul class="listStyle" id="sGrp03">'
			+ '							</ul>'
			+ '							<!-- //로딩 시, 비활성화 부분 -->'
			+ '						</div>'
			+ '					</div>'
			+ '					<!-- //장비 -->'
			+ '					<!-- 조회값 -->'
			+ '					<div class="fl popGroup05">'
			+ '						<p class="groupTitle">조회값</p>'
			+ '						<div class="groupArea02 br clear02">'
			+ '							<!-- [D]로딩 시, 비활성화 부분 -->'
			+ '							<!-- [D] 선택된 li태그에 class="on" 삽입 /'
			+ '											비활성화시, a 태그를 span 태그로 교체 -->'
			+ '							<!-- 영역1 -->'
			+ '							<div class="fl group mr1">'
			+ '								<!-- 단위1 -->'
			+ '								<div class="divArea mt8">'
			+ '									<ul id="sGrp04" class="listStyle02 sGrp04">'
			+ '									</ul>'
			+ '								</div>'
			+ '								<!-- //단위1 -->'
			+ '							</div>'
			+ '							<!-- //영역1 -->'
			+ '							<!-- 영역2 -->'
			+ '							<div class="fl group">'
			+ '								<!-- 단위1 -->'
			+ '								<div class="divArea mt8">'
			+ '									<ul id="sGrp04" class="listStyle02 sGrp04">'
			+ '									</ul>'
			+ '								</div>'
			+ '								<!-- //단위2 -->'
			+ '							</div>'
			+ '							<!-- //영역2 -->'
			+ '							<!-- //로딩 시, 비활성화 부분 -->'
			+ '						</div>'
			+ '					</div>'
			+ '					<!-- //조회값 -->'
			+ '				</div>'
			+ '				<div class="choiceBox">'
			+ '					<ul class="choiceList clear02">'
			+ '					</ul>'
			+ '				</div>'
			+ '				<!-- 버튼 -->'
			+ '				<div class="btn_area02 mt15">'
			+ '					<div class="fr">'
			+ '						<a href="#" onClick="findFgFunction.senddata(); $(\'#divOptionSelect\').modal(\'hide\')" class="on"><span>확인</span></a>'
			+ '						<a href="#" onClick="$(\'#divOptionSelect\').modal(\'hide\')" class="on"><span>취소</span></a>'
			+ '					</div>'
			+ '				</div>'
			+ '				<!-- //버튼 -->'
			+ '			</div>'
			+ '		</section>'
			+ '	</div>'
			+ '	<!-- //모달팝업 내용 -->');
});
	
// 데이터 설정 부분
var data1 = Object.create(bemsSelectList);
var data2 = Object.create(bemsSelectList);
var data3 = Object.create(bemsSelectList);
var data4 = Object.create(bemsSelectList);

var findFgFunction = {
		selObj: null,
		fgchgpopup:function(seldata){
			this.selObj = $(seldata).parent().parent().parent().parent();
			this.fgopenpopup();
		},
		fgopenpopup : function(){
			// 검색창을 띄울 때 아래 함수를 실행시키면 된다. 
			oSelect.openWindow("#divOptionSelect");
			if(null != data2.gid){
				data2.data = [];
				data2.retrieve('data2');
			}
			if(null != data3.gid){
				data3.data = [];
				data3.retrieve('data3');
			}
			if(null != data4.gid){
				data4.data = [];
				data4.retrieve('data4');
			}
			$('.choiceList > li').remove();
			
			$.ajax({
	 		    url : "/fa/ajax/selectSystemGroupIdList.do",
	 		    type : "POST",
	 		    dataType : "json",
	 		    success : function(data){
	 				data1.gid = 'sGrp01';
	 				data1.selector = 'sGrp01';
	 				data1.type = '03';	// 01 : 한개만 선택, 재선택 불가능.  02: 여러개 선택, 03 : 한개만 선택, 선택 후 재선택 가능.
	 				data1.selected = null;
	 				data1.data = [];
	 				data1.handler = 'findFgFunction.sgclick';
	 				data.sgidlist.forEach(function(sgid, i){
	 					if("2" == sgid.system_depth){
	 						data1.data.push({id:i, selected:false, title:sgid.name, system_depth:sgid.system_depth, system_group_id:sgid.system_group_id, system_id:sgid.system_id});
	 					}
	 				});
	 				data1.retrieve('data1');
	 		    }
			});
		},
		sgclick: function(gIdx, idx, dName, dataSelIndex){
			data1.selected = dataSelIndex;
			data1.retrieve(dName);
			data2.retrieve('data2');
			if(null != data3.gid){
				data3.data = [];
				data3.retrieve('data3');
			}
			if(null != data4.gid){
				data4.data = [];
				data4.retrieve('data4');
			}
			$('#_system_group_id').val(data1.data[dataSelIndex].system_group_id);
			$('#_system_id').val(data1.data[dataSelIndex].system_id);
			
			var params = {
				'system_group_id' : $('#_system_group_id').val()
				, 'system_id' : $('#_system_id').val()
			};
			$.ajax({
	 		    url : "/fa/ajax/selectSystemGroupFacilityGroupList.do",
	 		    type : "POST",
	 		    dataType : "json",
	 		    data : params, 
	 		    success : function(data){
	 				data2.gid = 'sGrp02';
	 				data2.selector = 'sGrp02';
	 				data2.type = '03	';
	 				data2.selected = null;
	 				data2.data = [];
	 				data2.handler = 'findFgFunction.fgclick';
	 				data.fglist.forEach(function(fgroup){
	 					data2.data.push({id:fgroup.facility_group_id, gubun:'item', selected: false, title:fgroup.facility_group_name});
	 				});
	 				data2.retrieve('data2');
	 		    }
			});
		},	
		fgclick : function(gIdx, idx, dName, dataSelIndex){
			data2.selected = idx;
			data2.retrieve(dName);
			$('#_facility_group_id').val(idx);
			if(null != data4.gid){
				data4.data = [];
				data4.retrieve('data4');
			}
			
			var params = {
				'system_group_id' : $('#_system_group_id').val() 
				, 'system_id' : $('#_system_id').val()
				, 'facility_group_id' :$('#_facility_group_id').val()
			};
			$.ajax({
	 		    url : "/fa/ajax/selectFacilityList.do",
	 		    type : "POST",
	 		    dataType : "json",
	 		    data : params, 
	 		    success : function(data){
	 				data3.gid = 'sGrp03';
	 				data3.selector = 'sGrp03';
	 				data3.type = '03	';
	 				data3.selected = null;
	 				data3.data = [];
	 				data3.handler = 'findFgFunction.fclick'
	 				data.flist.forEach(function(facility){
	 					data3.data.push({id:facility.facility_id, title:facility.facility_name, selected:false, system_id:facility.system_id});
	 				});
	 				data3.retrieve('data3');
	 		    }
			});
		},
		fclick: function(gIdx, idx, dName, dataSelIndex){
			
			data3.selected = idx;
			data3.retrieve(dName);
			$('#_facility_id').val(idx);
			$('#_facility_name').val(data3.data[dataSelIndex].title);
			$('#_system_id').val(data3.data[dataSelIndex].system_id);
			
			var params = {
					'system_group_id' : $('#_system_group_id').val() 
					, 'system_id' : $('#_system_id').val()
					, 'facility_id' : $('#_facility_id').val()
					, 'orderby' : '1'
			};
			$.ajax({
	 		    url : "/fa/ajax/selectFacilityPointPatternList.do",
	 		    type : "POST",
	 		    dataType : "json",
	 		    data : params, 
	 		    success : function(data){
	 				data4.gid = 'sGrp04';
	 				data4.selector = 'sGrp04';
	 				data4.type = '02';
	 				data4.selected = null;
	 				data4.data = [];
	 				data4.handler = 'findFgFunction.ppclick';
	 				
	 				var prevSelType = null;
	 				var dataCnt = 0;
	 				data.pplist.forEach(function(pp){
						var selected = findFgFunction.selchk(pp);
 						// 분류별
 						if(prevSelType != pp.type){
 							if('01' == pp.type){
 								data4.data.push({id:'01',eq: 0, gubun:'title', selected: false, title: '계측포인트', });
 								dataCnt++;
 							}else if('02' == pp.type){
 								data4.data.push({id:'02',eq: 1, gubun:'title', selected: false, title: '지표', });
 								dataCnt++;
 							}
 							prevSelType = pp.type;
 						}
							
							if('01' == pp.type){
							data4.data.push({id:dataCnt, eq: 0, gubun:'item', selected: selected, title:pp.facility_desc, type:pp.type
		 						, ddc_id: pp.ddc_id
		 						, display_unit: pp.display_unit
		 						, facility_desc: pp.facility_desc
		 						, facility_id: pp.facility_id
		 						, point_id: pp.point_id
		 						, unit_desc: pp.unit_desc
		 						, unit_name: pp.unit_name
								, pattern_code_id: pp.pattern_code_id
								, pattern_code_name: pp.pattern_code_name});
							dataCnt++;
							}else if('02' == pp.type){
							data4.data.push({id:dataCnt, eq: 1, gubun:'item', selected: selected, title:pp.pattern_code_name, type:pp.type
		 						, ddc_id: pp.ddc_id
		 						, display_unit: pp.display_unit
		 						, facility_desc: pp.facility_desc
		 						, facility_id: pp.facility_id
		 						, point_id: pp.point_id
		 						, unit_desc: pp.unit_desc
		 						, unit_name: pp.unit_name
								, pattern_code_id: pp.pattern_code_id
								, pattern_code_name: pp.pattern_code_name});
							dataCnt++;
							}
	 				});
	 				data4.data.push({id:'03',eq: 1, gubun:'title', selected: false, title: 'hr', });
	 				data4.data.push({id:++dataCnt,eq: 1, gubun:'item', selected: findFgFunction.selchk({type:'03'}), title: '가동시간(hr)', type:'03'});
	 				
	 				data4.retrieve('data4');
	 		    }
			});	
		},
		ppclick:function(gIdx, idx, dName, dataSelIndex){
			if(1 <= $('input[name="selpops"]').length){
				return false;
			}
			data4.data[dataSelIndex].selected = true;
			data4.retrieve('data4'); 
			var selData = '';
			if('01' == data4.data[dataSelIndex].type){
				selData = '<input type="hidden" name="selpops" value="01|' +data4.data[dataSelIndex].ddc_id + '@' + data4.data[dataSelIndex].point_id + '@' + data4.data[dataSelIndex].facility_id + '@' + (data4.data[dataSelIndex].title).replaceAll(' ', '') + '|' + data4.data[dataSelIndex].title + '|' + data4.data[dataSelIndex].display_unit + '" />';    
			}else if('02' == data4.data[dataSelIndex].type){
				selData = '<input type="hidden" name="selpops" value="02|' + '0000000000@' + data4.data[dataSelIndex].pattern_code_id + '@' + $('#_facility_id').val() + '@' +  (data4.data[dataSelIndex].pattern_code_name).replaceAll(' ', '') +  '|' + data4.data[dataSelIndex].title + '|' + data4.data[dataSelIndex].display_unit + '" />';
			}else if('03' == data4.data[dataSelIndex].type){
				selData = '<input type="hidden" name="selpops" value="03|Y|' + data4.data[dataSelIndex].title + '" />';
			}
			
			jQuery(".choiceList.clear02").append ("<li id='item_"+dataSelIndex+"'><a class='fl itemDel' onclick='removeItem(jQuery(this), "+dataSelIndex+", \""+dName+"\");'><img src='/images/common/btn_popup_close02.gif' alt='닫기' /></a><span class='fl txtStyle'>"+data4.data[dataSelIndex].title+"</span>" + selData+ "</li>");
			var bh = jQuery(".choiceList").height();
			jQuery(".choiceBox").scrollTop(bh);
		},
		selchk : function(pp){
			var selflag = false;
			$('input[name="selpops"]').each(function(i, sp){
				var sparr = sp.value.split('|');
				if('01' == pp.type){
					if((pp.ddc_id + '@' + pp.point_id + '@' + pp.facility_id + '@' + (pp.facility_desc).replaceAll(' ', ''))  == sparr[1]){
						selflag = true;	
					}
				}else if('02' == pp.type){
					if('0000000000@' + pp.pattern_code_id + '@' + $('#_facility_id').val() + '@' +  (pp.pattern_code_name).replaceAll(' ', '')  == sparr[1]){
						selflag = true;	
					}
				}else if('03' == pp.type){
					if(pp.type == sparr[0]){
						selflag = true;
					}
				}
			})
			return selflag;
		}, senddata:function(){
			var sendDataHtml ='';
			$('input[name="selpops"]').each(function(i, sp){
				var sparr = sp.value.split('|');
				if('01' == sparr[0]){
					sendDataHtml = '<div class="layerTwo clear02 pb0">'
							+'<input type="hidden" name="srchYList" value="01@N@0.0@0.0@' + $('#_system_group_id').val() + '@' +  $('#_system_id').val()  + '@' + sparr[1] +  '" />'
							+ '<input type="hidden" name="srchDpUnitNm" value="' + sparr[2].replaceAll(" " , "") + "|" + sparr[3] + '" />'
							+'	<div class="clear02">'
							+'		<div class="fl">'
							+'			<label for="search3" class="pl30">Y축</label>'
							+'			<input type="text" id="search3" name="search" value="' + sparr[2] + '" class="w395 input_style02" />'
							+'		</div>'
							+'		<div class="fl pl10">'
							+'			<p class="btn_area">'
							+'				<a href="javascript:void(0);" onClick="findFgFunction.fgchgpopup(this)"><span>변경</span></a>'
							+'				<a href="javascript:void(0);" onClick="findFgFunction.removeSrchData(this)"><span>삭제</span></a>'
							+'			</p>'
							+'		</div>'
							+'	</div>'
							+'	<div class="mt15 clear02">'
							+'		<div class="fl">'
							+'			<label  class="ml89 fontStyle">데이터제한</label>'
							+'			<div class="s4 pl163">'
							+'				<select name="dataLimits">'
							+'					<option value="N" selected="selected">사용안함</option>'
							+'					<option value="Y">사용함</option>'
							+'				</select>'
							+'			</div>'
							+'		</div>'
							+'		<!-- 131203_id 중복 문제로 수정 -->'
							+'		<div class="fl range" style="display:none">'
							+'			<label for="range2" class="ml31 fontStyle">범위</label>'
							+'			<input type="text" name="range01" id="range2" value="0.0" class="w56 input_style01" />'
							+'			<span>~</span>'
							+'			<input type="text" name="range02" value="0.0" class="w56 input_style01" />'
							+'		</div>'
							+'		<!-- //131203_id 중복 문제로 수정 -->'
							+'	</div>'
							+'</div>';
				}
			});
			$('input[name="selpops"]').each(function(i, sp){
				var sparr = sp.value.split('|');
				if('02' == sparr[0]){
					sendDataHtml = '<div class="layerTwo clear02 pb0">'
							+'<input type="hidden" name="srchYList" value="02@N@0.0@0.0@' + $('#_system_group_id').val() + '@' +  $('#_system_id').val()  + '@' + sparr[1] +  '" />'
							+ '<input type="hidden" name="srchDpUnitNm" value="' + sparr[2].replaceAll(" " , "") + "|" + sparr[3] + '" />'
							+'	<div class="clear02">'
							+'		<div class="fl">'
							+'			<label for="search3" class="pl30">Y축</label>'
							+'			<input type="text" id="search3" name="search" value="' + sparr[2] + '" class="w395 input_style02" />'
							+'		</div>'
							+'		<div class="fl pl10">'
							+'			<p class="btn_area">'
							+'				<a href="javascript:void(0);" onClick="findFgFunction.fgchgpopup(this)"><span>변경</span></a>'
							+'				<a href="javascript:void(0);" onClick="findFgFunction.removeSrchData(this)"><span>삭제</span></a>'
							+'			</p>'
							+'		</div>'
							+'	</div>'
							+'	<div class="mt15 clear02">'
							+'		<div class="fl">'
							+'			<label  class="ml89 fontStyle">데이터제한</label>'
							+'			<div class="s4 pl163">'
							+'				<select name="dataLimits">'
							+'					<option value="N" selected="selected">사용안함</option>'
							+'					<option value="Y">사용함</option>'
							+'				</select>'
							+'			</div>'
							+'		</div>'
							+'		<!-- 131203_id 중복 문제로 수정 -->'
							+'		<div class="fl range" style="display:none">'
							+'			<label for="range2" class="ml31 fontStyle">범위</label>'
							+'			<input type="text" name="range01" id="range2" value="0.0" class="w56 input_style01" />'
							+'			<span>~</span>'
							+'			<input type="text" name="range02" value="0.0" class="w56 input_style01" />'
							+'		</div>'
							+'		<!-- //131203_id 중복 문제로 수정 -->'
							+'	</div>'
							+'</div>';
				}
			});
			$('input[name="selpops"]').each(function(i, sp){
				var sparr = sp.value.split('|');
				if('03' == sparr[0]){
					sendDataHtml = '<div class="layerTwo clear02 pb0">'
							+'<input type="hidden" name="srchYList" value="03@N@0.0@0.0@' + $('#_system_group_id').val() + '@' +  $('#_system_id').val()  + '@0000000000@0000000000@' + $('#_facility_id').val() + '@' + sparr[1] +  '" />'
							+'	<div class="clear02">'
							+'		<div class="fl">'
							+'			<label for="search3" class="pl30">Y축</label>'
							+'			<input type="text" id="search3" name="search" value="' + sparr[2] + '" class="w395 input_style02" />'
							+'		</div>'
							+'		<div class="fl pl10">'
							+'			<p class="btn_area">'
							+'				<a href="javascript:void(0);" onClick="findFgFunction.fgchgpopup(this)"><span>변경</span></a>'
							+'				<a href="javascript:void(0);" onClick="findFgFunction.removeSrchData(this)"><span>삭제</span></a>'
							+'			</p>'
							+'		</div>'
							+'	</div>'
							+'	<div class="mt15 clear02">'
							+'		<div class="fl">'
							+'			<label  class="ml89 fontStyle">데이터제한</label>'
							+'			<div class="s4 pl163">'
							+'				<select name="dataLimits">'
							+'					<option value="N" selected="selected">사용안함</option>'
							+'					<option value="Y">사용함</option>'
							+'				</select>'
							+'			</div>'
							+'		</div>'
							+'		<!-- 131203_id 중복 문제로 수정 -->'
							+'		<div class="fl range" style="display:none">'
							+'			<label for="range2" class="ml31 fontStyle">범위</label>'
							+'			<input type="text" name="range01" id="range2" value="0.0" class="w56 input_style01" />'
							+'			<span>~</span>'
							+'			<input type="text" name="range02" value="0.0" class="w56 input_style01" />'
							+'		</div>'
							+'		<!-- //131203_id 중복 문제로 수정 -->'
							+'	</div>'
							+'</div>';
				}
			});
			
			if(null != findFgFunction.selObj){
				findFgFunction.selObj.html(sendDataHtml);
			}else{
				$('#addSrch').before(sendDataHtml);						
			}
			
			$('select[name="dataLimits"]').selectbox().change(function(){
				if('N' == $(this).val()){
					$(this).parent().parent().next().hide();
				}else if('Y' == $(this).val()){
					$(this).parent().parent().next().show();
				}
				var arrVal = $(this).parent().parent().parent().parent().find('input[name="srchYList"]').val().split("@");
				
				var arrLen = arrVal.length;
				
				arrVal[1] = $(this).val();
				
				var tmpVal = "";
				for(var i=0; i<arrLen; i++){
					tmpVal += arrVal[i]; 	
					if(i != (arrLen-1)){
						tmpVal += "@";
					}
					
				}
				
				$(this).parent().parent().parent().parent().find('input[name="srchYList"]').val(tmpVal);
			});
			
			$('input[name="range01"]').blur(function(){
				var arrVal = $(this).parent().parent().parent().find('input[name="srchYList"]').val().split("@");
				
				var arrLen = arrVal.length;
				
				arrVal[2] = $(this).val().indexOf(".") == -1 ? $(this).val()+".0" : $(this).val();
				
				var tmpVal = "";
				for(var i=0; i<arrLen; i++){
					tmpVal += arrVal[i]; 	
					if(i != (arrLen-1)){
						tmpVal += "@";
					}
					
				}
				
				$(this).parent().parent().parent().find('input[name="srchYList"]').val(tmpVal);
			});
			
			$('input[name="range02"]').blur(function(){
				var arrVal = $(this).parent().parent().parent().find('input[name="srchYList"]').val().split("@");
				
				var arrLen = arrVal.length;
				
				arrVal[3] = $(this).val().indexOf(".") == -1 ? $(this).val()+".0" : $(this).val();
				
				var tmpVal = "";
				for(var i=0; i<arrLen; i++){
					tmpVal += arrVal[i]; 	
					if(i != (arrLen-1)){
						tmpVal += "@";
					}
					
				}
				
				$(this).parent().parent().parent().find('input[name="srchYList"]').val(tmpVal);
			});
			

		},
		removeSrchData:function(obj){
			if(confirm("설정하신 조회 값을 \n삭제하시겠습니까?")){
				$(obj).parent().parent().parent().parent().remove();
			}
		}
		
		
		
		
};